home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
books
/
tech
/
osprogsr.toc
< prev
next >
Wrap
Internet Message Format
|
1994-12-10
|
7KB
From: shartley@dunx1.ocs.drexel.edu (shartley)
Newsgroups: comp.os.misc,misc.books.technical
Subject: teaching operating systems
Date: 7 Dec 1994 11:34:28 -0500
In late January or early February, Oxford Univ. Press will publish my book
"Operating Systems Programming: The SR Programming Language".
The ISBN is 0-19-5095790. Contact them at (800) 451-7556 for
a copy. Suggested list price is $25.00.
The example SR programs used in the book are avaliable by anonymous ftp
>from site mcs.drexel.edu in directory pub/shartley; retrieve file
book_SR_examples.tar.gz or book_SR_examples.tar.Z (remember to use binary
mode) to get a tar archive compressed with the GNU compression program
gzip or the UNIX utility compress, respectively.
Steve Hartley
Drexel University
shartley@mcs.drexel.edu
Here is the Preface:
SR is a language for concurrent programming. This book describes the SR
language, presents some examples of SR programs in the context of an operating
systems or concurrent programming course, and provides some programming as-
signments in the form of open Student Laboratories. The SR language can be
used by instructors of concurrent programming or operating systems courses to
give students experience in writing concurrent programs that use multiple
processes, semaphores, monitors, message passing, remote procedure calls, and
the rendezvous. The language can also be used for parallel computing in a
shared-memory multiprocessor or a distributed memory cluster environment.
The intended audience is undergraduate and graduate students enrolled in
concurrent programming and operating systems classes. Prerequisites for stu-
dents are knowledge of a high-level programming language like C or Pascal and
operating systems concepts. See the Instructor's Manual for more detailed
prerequisites. This book is designed to be used during an operating systems
course in conjunction with one of the standard texts to provide concurrent
programming experience. The book can also be used in a full semester follow-
on course to operating systems to provide more extensive programming experi-
ence. Since most concepts and terms are defined, the book can be used as the
sole text in an introductory concurrent programming course that precedes the
operating systems course.
The required computing environment is a UNIX platform such as a Sun 3, Sun
4, Sequent Symmetry, DECstation, SGI Iris, NeXT, HP RISC, or PC compatible
running Linux.
The SR examples and programming assignments in this book have been used suc-
cessfully in undergraduate concurrent programming and operating systems
courses at Drexel University, Philadelphia, Pennsylvania, and Trinity Univer-
sity, San Antonio, Texas. The book arose out of a collection of handouts and
class notes distributed to students during 1991-94 and is a greatly expanded
version of [some earlier journal papers].
This book has several important features.
* The material is keyed to four standard operating systems texts: Deitel,
Silberschatz and Galvin, Stallings, and Tanenbaum. The relevant sections of
these texts for the major concepts, such as semaphores and monitors, are indi-
cated.
* Each of the numerous example programs in this book includes output from
one or two sample runs to show how the program works.
* Algorithm animation using the animator interpreter from the XTANGO sys-
tem is described and used in several of the examples.
* Numerous programming assignments in the form of open Student Labora-
tories are given.
The example programs in this book will be made available by anonymous ftp at
site mcs.drexel.edu. Contact the author for further details.
Here is the TOC:
Operating Systems Programming
Hardware Basics
Hardware and Software Interrupts
Hardware Protection
CPU Scheduling
The SR Programming Language
Sequential Features
Additional Sequential Examples and Features
Lab: Sequential SR
Multiple Resources
Lab: Resources and Capabilities
Additional Features
Animating Programs with XTANGO
Lab: XTANGO Animation
Concurrent Programming
Multiple Processes in One Resource
Multiple Processes in Multiple Resources
Simulated versus Real Concurrency
Debugging Techniques
Race Conditions and Process Synchronization
Lab: Race Conditions
Architecture and Shared Memory Systems
The Mutual Exclusion Problem
Semaphores
SR Semaphores
Classical Operating Systems Problems
Semaphore Solutions
The Producers and Consumers
The Sleeping Barber
The Dining Philosophers
The Readers and Writers
Binary Semaphores
Lab: Semaphores
Assignment: Fix Race Condition
Assignment: Multiple Producers and Consumers
Assignment: Another Classical Problem
Assignment: Multiple Sleeping Barbers
Assignment: Dining Philosophers
Assignment: Fair Readers and Writers
Assignment: Baboons Crossing a Canyon
Assignment: Fraternity Party
Assignment: Jurassic Park
Animating Operating Systems Algorithms
Lab: Classical Problem Animation
Monitors
Monitors and SR
The Producers and Consumers
The Dining Philosophers
The Readers and Writers
Implementing Monitors with Semaphores
Lab: Monitors
Assignment: Fair Baboons
Assignment: Sleeping Barber
Assignment: Fair Dining Philosophers
Assignment: Fraternity Party
Assignment: Bakery
Message Passing and the Rendezvous
Message Passing
Message Passing in SR
Concurrent Programs and Message Passing
Distributed Mutual Exclusion
Miscellaneous Examples
Lab: Message Passing
Assignment: Merge Sort
Assignment: Pipeline Sieve of Eratosthenes
Assignment: Compare/Exchange Sort
Assignment: Speedup
Assignment: Algorithm Animation
Rendezvous
Classical Problems Using Rendezvous
Nested in Statements
A Lock Resource
The Distributed Dining Philosophers
RPC and Client-Server Programming
Summary of Operations and Invocations
Lab: Rendezvous
Assignment: Fair Baboons
Assignment: Sleeping Barber
Assignment: Fair Readers and Writers
Assignment: Fair Dining Philosophers
Assignment: Fraternity Party
Assignment: Bakery
Assignment: Banker's Algorithm
More Animation with XTANGO
Lab: Algorithm Animation
Parallel Computing
Coarse-Grained Concurrency in SR
Patterns of Communication
Data Parallelism
Shared Memory Examples
Message Passing Examples
Integrating Animator into SR
Lab: Parallel Computing
Assignment: Speedup
Assignment: Race Condition
Assignment: No Race Condition
Instructor's Manual
Sample Lab Solutions
Semaphores
Monitors
Message Passing
Rendezvous
Parallel Computing